package com.itliang.mqtt.model.property;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * MQTT连接属性
 *
 * @author : liangzhuoyuan
 */
@Component
@ConfigurationProperties(prefix = "mqtt")
@Data
public class MqttProperty {

    /**
     * MQTT服务器用户名
     */
    private String username;

    /**
     * MQTT服务器密码
     */
    private String password;

    /**
     * EMQX服务器地址
     */
    private String host;

    /**
     * 客户端唯一id
     */
    private String clientId;

    /**
     * 订阅主题
     */
    private List<String> subTopics;

    /**
     * 消息服务质量
     */
    private List<Integer> qos;

    /**
     * MQTT连接超时时间
     */
    private Integer connectionTimeout;

    /**
     * 设置MQTT心跳时间
     */
    private Integer keepAliveInterval;

    /**
     * MQTT是否自动重连
     */
    private Boolean automaticReconnect;

    /**
     * 是否清除Session
     */
    private Boolean cleanSession;


}
